#ifndef PARA_H_
#define PARA_H_
#define MAX 10  //介质种类数目最大取值


//为输入参数定义一个类
class Para{
private:
    double par_m;   //粒子质量
    double par_mon; //粒子动量
    int rad_period_n;   //辐射体周期数目
    int diel_n; //电介质种类数目
    double diel_l[MAX]; //电介质长度数组
    double diel_perm[MAX];  //电介质相对介电常数数组
    double wave_l;  //研究波长
    int theta_n;    //出射角的取值个数
    double theta_i;  //出射角的取值起点
    double theta_f;  //出射角的取值终点

public:
    Para(int n);
    Para();
    ~Para() {}

    void set_p_m(double p_m) {par_m = p_m;}
    void set_p_mon(double p_mon) {par_mon = p_mon;}
    void set_r_p_n(int n) {rad_period_n = n;}
    void set_diel_n(int n) {diel_n = n;}
    void set_diel_l(double l[]);
    void set_diel_perm(double perm[]);
    void set_wave_l(double l) {wave_l = l;}
    void set_theta_n(int n) {theta_n = n;}
    void set_theta_i(double theta) {theta_i = theta;}
    void set_theta_f(double theta) {theta_f = theta;}

    void show();
    double get_p_m() {return par_m;}
    double get_p_mon() {return par_mon;}
    int get_r_p_n() {return rad_period_n;}
    int get_diel_n() {return diel_n;}
    void get_diel_l(double l[]);
    void get_diel_perm(double perm[]);
    double get_wave_l() {return wave_l;}
    int get_theta_n() {return theta_n;}
    double get_theta_i() {return theta_i;}
    double get_theta_f() {return theta_f;}
    void para_set();

};


#endif